import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class Solution {
    //解法1：哈希表 待定
    //解法2：排序 + 双指针
    public int[] intersect(int[] nums1, int[] nums2) {
        Arrays.sort(nums1);
        Arrays.sort(nums2);
        List<Integer> list = new ArrayList<>();
        int index1 = 0;
        int index2 = 0;
        int index = 0;
        while (index1 < nums1.length && index2 < nums2.length) {
            if (nums1[index1] < nums2[index2]) index1++;
            else if (nums1[index1] > nums2[index2]) index2++;
            else {
                list.add(nums1[index]);
                index++;
                index1++;
                index2++;
            }
        }
        int[] arr = new int[list.size()];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = list.get(i);
        }
        return arr;
    }
}